<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
   <script>
    // 1、求1 + 2！ + 3！ + 4！....+20!的值
	// - 2！ = 2 * 1
	// - 3！ = 3 * 2 * 1
    
    var total=0;
    var n=1;
    for( i=1;i<=20;i++){
        n=n*i;
        total=total+n;
    }  
    console.log(total);
    // 2、求叠数之和(1-9)
    // - 如输入的是 n=3， a=2；则输出 2 + 22 + 222 的值。
	// - 如输入的是 n=4， a=3；输出 3 + 33 + 333 + 3333的值
	// - n = 3,相加三次,每次相加比前一次相加的数,多一位
	// - 每次多的这个位数的值为a, 如果a为2则 2 * 10+2, 22 * 10+2
    var n=2; a=3;
    var sum=0;
    for(i=1;i<=n;i++){
        // 求和
        sum=sum+a
        // 取出a的值
        a=a*10+a%10;  
    }
    console.log(sum)
    // 5、回文数
    // 要求：打印10000~99999区间的回文数字，形如12321 23432 34543等
	// - 提示: 回文数需同时满足下面的条件         
	// [1] 第一位和倒数第一位相等
	// [2] 第二位和倒数第二位相等
	// [2] 第二位等于第一位数加一
	// [3] 第三位等于第二位数加一
    for(num=10000;num<=99999;num++){
        // 取值
        var w=parseInt(num/10000);
        var q=parseInt(num%10000/1000);
        var b=parseInt(num%1000/100);
        var s=parseInt(num%100/10)
        var g=parseInt(num%10)
        if(w===g && q===s && q===w+1 && b===q+1){
            console.log(num);
        }
    }
   </script>
</body>
</html>